Tightening Test Coverage Metrics: A Case Study in Equivalence Checking Using k-Induction

نویسندگان

  • Alastair F. Donaldson
  • Nannan He
  • Daniel Kroening
  • Philipp Rümmer
چکیده

We present a case study applying the k-induction method to equivalence checking of Simulink designs. In particular, we are interested in the problem of equivalence detection in mutation-based testing: given a design S, determining whether a “mutant” design S′ derived from S by syntactic fault injection is behaviourally equivalent to S. In this situation, efficient equivalence checking techniques are needed to avoid redundant and expensive search for test cases that observe differences between S and S′. We have integrated k-induction into our test case generation framework for Simulink. We show, using a selection of benchmarks, that k-induction can be effective in detecting equivalent mutants, sometimes as a stand-alone technique, and sometimes with some manual assistance. We further discuss how the level of automation of the method can be increased by using static analysis to derive strengthening invariants from the structure of the Simulink models.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Method of EFSM Model Extraction from HDL Descriptions: Application to Hybrid Verification

Functional verification is a challenging task in a digital hardware design process. Traditional approaches to functional verification of digital hardware are: formal (i.e. model checking, property checking, equivalence checking and so on) and simulation-based (i.e. an observation of system behavior in a simulated environment). In spite of their advantages none of them can be fully substituted b...

متن کامل

Test Reactive Systems with Büchi-Automaton-Based Temporal Requirements

A reactive system is expected to interact with its environment constantly, and its executions may be modeled as infinite words. To capture temporal requirements for a reactive system, Büchi automaton has been used as a formalism to model and specify temporal patterns of infinite executions of the system. A key feature of a Büchi automaton is its ability of accepting infinite words through its a...

متن کامل

Equivalence Checking on System Level using Stepwise Induction

We present an algorithm for equivalence checking between two C++ objects that uses stepwise induction. To prevent the effort of checking each state for reachability, we utilize a hypothesis that approximately describes the reachable states.

متن کامل

Using Model Checking to Generate Tests from Speci cations

We apply a model checker to the problem of test generation using a new application of mutation analysis. We deene syntactic operators, each of which produces a slight variation on a given model. The operators deene a form of mutation analysis at the level of the model checker speciication. A model checker generates counterexamples which distinguish the variations from the original speciication....

متن کامل

Practical, Low-Effort Equivalence Verification of Real Code

Verifying code equivalence is useful in many situations, such as checking: yesterday’s code against today’s, different implementations of the same (standardized) interface, or an optimized routine against a reference implementation. We present a tool designed to easily check the equivalence of two arbitrary C functions. The tool provides guarantees far beyond those possible with testing, yet it...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010